package com.css.devops.service;

import java.util.List;

import com.css.devops.domain.DevopsComputer;
import com.css.devops.domain.DevopsPlugin;

public interface DevopsApi {

	/**
	 * 初始化
	 */
	void init();
	
	/**
	 * 获取主机信息
	 */
	List<DevopsComputer> getComputerInfo();

	/**
	 * 重启 Jenkins
	 */
	void restart();

	/**
	 * 安全重启 Jenkins
	 */
	void safeRestart();

	/**
	 * 安全结束 Jenkins
	 */
	void safeExit();

	/**
	 * 关闭 Jenkins 连接
	 */
	void close();

	/**
	 * 根据 Label 查找代理节点信息
	 */
	void getLabelNodeInfo();

	/**
	 * 判断 Jenkins 是否运行
	 */
	boolean isRunning();

	/**
	 * 获取 Jenkins 插件信息
	 */
	List<DevopsPlugin> getPluginInfo();

}